%function Full_Welfare

clear
load resultsFMIN.mat

clearvars snPass


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;
% 1. Getting ready for graphs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;

% Cost parameters (in thousand Kwacha);
cp.alpha  = 48;           % Public benefit per tree;
cp.eta    = 1.2;          % Cost of public funds;
cp.mon    = 35;           % Monitoring cost;
cp.cb     = (1/(1+0.03)); % Cost of borrowing;

% Run parameters, tolerance is unchanged
rp.parl    = 0;
rp.m       = 200;
rp.k       = 1;
rp.lam     = 0;
rp.theseed = rp.theseed+1000;


rng(rp.theseed);
snPass.s       = rand(obs*(3*rp.k + rp.m),1);

% These two lines create a (k x m x 51) matrix, where the first floor is a
% (k x m) matrix of ones, the second a (k x m) matrix of twos, up to 51;
% Nv is just N repeated k x 51 times;
% the fourth and fifth are true false matrices for N vs. Nbar;
Ntr            = permute(N,[3,1,2]);
snPass.N3D     = Ntr(ones(rp.k,1),ones(rp.m,1),:);
snPass.Nv      = N(ones(rp.k,1),:);
snPass.Ngeq3D  = (snPass.N3D>=Nbar);
snPass.N03D    = (snPass.N3D>0);
snPass.Ngeqv   = (snPass.Nv>=Nbar);
snPass.N0v     = (snPass.Nv>0);


%%
% Must reset several values, setting to 0: F_surp (F_treat), F_moni, and
% F_shift -- This removes this context specific shifters. Further, must
% redefine Nmatrices because of new k/m dimensions

theta_hat0 = coefftran([theta_hat2(1:6),0,0,0],0); % Ensures F_* parameters = 0

TG0   = zeros(obs,1);      % Alternate treatment vector, set = 1
MON0  = zeros(obs,1);      % Alternate monitoring vector, set = 0


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2a) Tree Survival, static vs dynamic (real) contract
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[PartProb,Npdf,Nobs,Prof1,Prof0,EN,OV,Prof0_C] = Full_Simulate(theta_hat0,DP,A,R,TG0,MON0,snPass,rp);


%% Static outcomes
PartStat = (rp.df.*Prof0_C>=12-A);

ENCond = PartStat.*EN;

1314-sum(PartStat)
sum(ENCond==0) - (1314-sum(PartStat)) % Number planting 0 but taking up
sum(ENCond<35) - sum(ENCond==0) %planting between 1 and 34
sum(ENCond==35)
sum(ENCond>35) - sum(ENCond==50) %planting between 36 and 49
sum(ENCond==50)

%% Dynamic

1314-sum(PartProb)
sum(Nobs==0) - (1314-sum(PartProb)) % Number planting 0 but taking up
sum(Nobs<35) - sum(Nobs==0) %planting between 1 and 34
sum(Nobs==35)
sum(Nobs>35) - sum(Nobs==50) %planting between 36 and 49
sum(Nobs==50)





